package com.zff.rental.entity.apartment;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zff.rental.AppConstant;
import jakarta.persistence.*;
import lombok.Data;
import org.hibernate.annotations.Comment;


/**
 * 房间
 *
 * @author HCY
 */
@Data
@Entity
@Table(name = AppConstant.TABLE_NAME_ROOM)
@TableName(AppConstant.TABLE_NAME_ROOM)
public class RoomEntity {
    /**
     * 房间Id
     */
    @Id
    @TableId
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column()
    @Comment("房间Id")
    private Long id;

    /**
     * 公寓Id
     */
    @Column()
    @Comment("公寓Id")
    private Long apartmentId;

    /**
     * 套间Id
     */
    @Column()
    @Comment("套间Id")
    private Long suitesId;

    /**
     * 房间名称
     */
    @Column(length = 128)
    @Comment("房间名称")
    private String name;

    /**
     * 户型：一室、一室一厅
     */
    @Column()
    @Comment("户型：一室、一室一厅")
    private String houseType;

    /**
     * 楼层
     */
    @Column()
    @Comment("楼层")
    private Integer floor;

    /**
     * 面积
     */
    @Column()
    @Comment("面积")
    private Integer areaMeasure;

    /**
     * 备注
     */
    @Column(length = 65535, columnDefinition = "TEXT")
    @Comment("备注")
    private String memo;

    /**
     * 描述
     */
    @Column(length = 65535, columnDefinition = "TEXT")
    @Comment("描述")
    private String description;

    /**
     * 价格（租价）
     */
    @Column(scale = 2)
    @Comment("价格（租价）")
    private Float price;

    /**
     * 管理费
     */
    @Column(scale = 2)
    @Comment("管理费")
    private Float managementFee;

    /**
     * 当前租聘状态：1：未租住、2：已租住、3：已预定、4：维护中
     */
    @Column(columnDefinition = "tinyint default 0")
    @Comment("当前租聘状态：1：未租住、2：已租住、3：已预定、4：维护中")
    private Byte rentalStatus;

    /**
     * 是否为特价房 0：原价、1：特价房
     */
    @Column(columnDefinition = "tinyint default 0")
    @Comment("是否为特价房 0：原来、1：特价房")
    private Byte discountedRoom;

    /**
     * 特价之前的价格（原价）
     */
    @Column(scale = 2)
    @Comment("特价之前的价格（原价）")
    private Float originalPrice;

    /**
     * 出租记录Id
     */
    @Comment("出租记录Id")
    private Long rentalRecordId;
}
